package java基础知识;

/**
 * @author coderFu
 * @create 2022/3/4
 * JDK8 的新特性
 * 泛型接口不能导出参数类型
 */
public class JDK8NewFunction {

    public static void main(String[] args) {
//        func(new FunctionInterface() {
//            @Override
//            public void test() {
//                System.out.println("hello world");
//            }
//        });

        // 使用Lambda表达式代替上面的匿名内部类
        func((Integer x)-> System.out.println("Hello world"+x));

        /**
         * Lambda 表达式基本的语法规则
         *
         * 无参数 无返回值
         * 有参数 无返回值
         * 有参数  有返回值
         * 新增 Steam类库， 遍历集合的时候不用在使用for循环
         */








    }

    private static void func(FunctionInterface<Integer> functionInterface){
        int x =100;
        functionInterface.test(x);
    }


}

/**
 * 模拟函数式接口 ( 泛型接口）
 */
interface FunctionInterface<T>{

    /**
     * 测试方法
     */
    void test(T param);
}
